Módulo 2: Trabalhando com dados
Carolina Musso
PROFESP, DEMSP, MS
O pacote lubridate
As funções if(), if_else() e case_when()
Mais sobre o pacote flextable: mesclar células e condicionamento
paises <- c("Brazil", "Italy", "France", "Uruguay")
letalidade <- dados_covid %>%
filter(Country %in% paises,
New_cases>0) %>%
separate(Date_reported, c("Ano", "Mês", "Dia")) %>%
filter(Ano=="2023"|Ano=="2022") %>%
mutate(Country=case_when(
Country=="Brazil" ~ "Brasil",
Country=="Italy" ~ "Itália",
Country=="France" ~ "França",
Country=="Uruguay" ~ "Uruguai")) %>%
mutate(letalidade_diaria = New_deaths/New_cases*100)%>%
mutate(Continente = ifelse(Country=="Brasil"|Country=="Uruguai",
"América do Sul", "Europa")) %>%
group_by( Ano, Continente, Country) %>%
summarise(letalidade_media = mean(letalidade_diaria),
desvio_padrao = sd(letalidade_diaria ),
Casos_maximo = max(New_cases),
Obitos_maximo = max(New_deaths)) %>%
ungroup() %>%
mutate_if(is.numeric, ~format(., big.mark=".", decimal.mark=",", digits=2))
letalidade# A tibble: 8 × 7
Ano Continente Country letalidade_media desvio_padrao Casos_maximo
<chr> <chr> <chr> <chr> <chr> <chr>
1 2022 América do Sul Brasil 0,70 0,53 "298.408"
2 2022 América do Sul Uruguai 0,35 0,30 " 13.612"
3 2022 Europa França 0,38 0,98 "500.563"
4 2022 Europa Itália 0,31 0,19 "228.123"
5 2023 América do Sul Brasil 0,77 0,88 " 59.994"
6 2023 América do Sul Uruguai 0,32 0,29 " 8.173"
7 2023 Europa França 1,38 2,31 " 22.916"
8 2023 Europa Itália 0,95 0,49 " 27.102"
# ℹ 1 more variable: Obitos_maximo <chr>
tab1 <- flextable( letalidade) %>%
autofit() %>%
align(align="r", part="all") %>%
align(align="c", j=c(1,2), part="all") %>%
bold(part="header") %>%
bold(j=c(1,2)) %>%
bg(bg="lightgrey", j=1, part="all") %>%
bg(bg="grey", j=c(2,3), part="all") %>%
hline(i=c(2,4,6)) %>%
vline(j=c(1,2,3)) %>%
set_header_labels(
Country="País",
letalidade_media="Letalidade Média Diária",
desvio_padrao="Desvio Padrão",
Casos_maximo="Máximo de casos em 24h",
Obitos_maximo="Máximo de óbitos em 24h")
tab1Tem que ser o nome original na base! Sugestão: deixe para mudar os nomes só no final
Vantagem: Não preciso dizer o número das linhas , ele vai atualizar baseado no valor do banco! Isso é mais reprodutível.
PARA CONDICIONAR SOBRE OS NÚMEROS, O R TEM QUE ESTAR RECONHECENDO COMO NUMÉRICO
Entregar uma tabela em Word (.docx) criada com o flextable com uma base de dados do seu interesse. O código .Rmd deve ser entregue juntamente com a tabela gerada.
Sugiro não utilizar as mesmas bases que usamos aqui na aula, a não ser que faça uma abordagem muito diferentes das já feitas.
Para chegar na tabela, você deve usar funções de manipulações de dados de acordo como seu objetivo. Deve conter pelo menos alguma manipulação com o filter() e com o mutate(), no mínimo.
Deve conter pelo menos 3 funções de formatação da tabela.
Defafio: usar funções novas de formatação ou manipulação não apresentadas na aula.